package cn.net.cfss.fgbp.api.console.constant;

import cn.net.cfss.fgbp.api.console.vo.SysEnumVo;
import cn.net.cfss.fgbp.base.constant.BaseEnum;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public enum OrgTypeEnum implements BaseEnum<OrgTypeEnum, Integer> {

    GATHER_ORG(0, "总公司"), BRANCH_ORG(1, "省公司"), SUB_ORG(2, "市公司");

    private Integer value;
    private String displayName;

    OrgTypeEnum(Integer value, String displayName) {
        this.value = value;
        this.displayName = displayName;
    }

    @Override
    public Integer getValue() {
        return value;
    }

    @Override
    public String getDisplayName() {
        return displayName;
    }

    private static Map<Integer, OrgTypeEnum> enumMap = new HashMap<Integer, OrgTypeEnum>();

    static {
        for (OrgTypeEnum en : OrgTypeEnum.values()) {
            enumMap.put(en.getValue(), en);
        }
    }

    public static OrgTypeEnum getEnum(Integer value) {
        return enumMap.get(value);
    }

    public static List<SysEnumVo> getEnum(){
        List<SysEnumVo> list = new ArrayList();
        for(OrgTypeEnum en : OrgTypeEnum.values()){
            SysEnumVo vo = new SysEnumVo();
            vo.setVal(en.getValue());
            vo.setDisplayName(en.getDisplayName());
            vo.setName(en.toString());
            list.add(vo);
        }
        return list;
    }
}
